package com.linkq.ipinyin.model;

/**
 * @author wangpeng
 * @since 2025-06-29
 **/

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

@ApiModel(value = "苹果返回的所有订单信息 In_App")
@Data
public class AppleOrder implements Serializable {

    @ApiModelProperty(value = "购买的消耗品数量。此值对应于SKPayment存储在交易的支付属性中的对象的数量属性。“1”除非使用可变付款进行修改，否则该值通常是不变的。最大值为 10。")
    private String quantity;

    @ApiModelProperty(value = "购买的产品的唯一标识符。您在 App Store Connect 中创建产品时提供此值，它对应于存储在交易的支付属性中的对象的属性。productIdentifierSKPayment")
    private String product_id;

    @ApiModelProperty(value = "交易的唯一标识符，例如购买、恢复或续订。有关更多信息，请参阅")
    private String transaction_id;

    @ApiModelProperty(value = "原始购买的交易标识符。有关更多信息，请参阅。original_transaction_id")
    private String original_transaction_id;

    @ApiModelProperty(value = "App Store 向用户帐户收取购买或恢复产品费用的时间，或 App Store 向用户帐户收取订阅购买或续订费用的时间，采用类似于 ISO 8601 的日期时间格式。")
    private String purchase_date;

    @ApiModelProperty(value = "对于消耗性、非消耗性和非续订订阅产品，App Store 向用户帐户收取购买或恢复产品的时间，采用 UNIX 纪元时间格式，以毫秒为单位。对于自动续订订阅，App Store 向用户帐户收取订阅购买或过期后续订的时间，采用 UNIX 纪元时间格式，以毫秒为单位。使用此时间格式处理日期。")
    private String purchase_date_ms;

    @ApiModelProperty(value = "在太平洋时区，App Store 向用户帐户收取购买或恢复产品费用的时间，或 App Store 向用户帐户收取订阅购买或续订费用的时间。")
    private String purchase_date_pst;

    @ApiModelProperty(value = "原始应用内购买的时间，采用类似于 ISO 8601 的日期时间格式。")
    private String original_purchase_date;

    @ApiModelProperty(value = "原始应用内购买的时间，采用 UNIX 纪元时间格式，以毫秒为单位。对于自动续订订阅，此值表示订阅的初始购买日期。原始购买日期适用于所有产品类型，并且在相同产品 ID 的所有交易中保持相同。此值对应于 StoreKit 中原始交易的属性。使用此时间格式处理日期。transactionDate")
    private String original_purchase_date_ms;

    @ApiModelProperty(value = "原始应用内购买的时间，在太平洋时区。")
    private String original_purchase_date_pst;

    @ApiModelProperty(value = "指示订阅是否处于免费试用期。有关更多信息，请参阅。is_trial_period")
    private String is_trial_period;

    @ApiModelProperty(value = "苹果没说：沙箱环境是：PURCHASED")
    private String in_app_ownership_type;
}